價格:免費
更新日期:2019-10-09
檔案大小:1.4M
目前版本:2.84
版本需求:Android 6.0 以上版本
官方網站:https://www.dyntechno.com/
Email:younggiyoon@hotmail.com
지원하는 Interface는
- Arduino interface(open source type)
- Dyntechno JoyLAB-A
- SWR Disc
- Android device에 내장된 센서
을 지원합니다.
Android device내에 내장된 센서는 Google의 표준 방식으로 제작된 경우에는 지원합니다.
Arduino interface open source type은 통신하는 방법만 맞추어 주시면 Uno, mega2580, maple mini등을 USB, Bluetooth(BLE not supported)로 연결할 수 있습니다.
Arduino 통신부분을 공유하오니, 참조하여 작성해 주시길 바랍니다.
-- 소스 --
incomingByte1 = Serial.parseInt();
switch(incomingByte1) {
case 1: // Check device
incomingByte2 = Serial.parseInt();
switch(incomingByte2) {
case 1: // send device name
Serial.println("{11,Arduino}");
Serial.flush();
break;
case 2: // send channels count
Serial.print("{12,");
Serial.print(sensorLength);
Serial.println("}");
break;
}
break;
case 2: // send sensor information
incomingByte2 = Serial.parseInt();
switch(incomingByte2) {
case 1: // send sensor id
Serial.println("{13,1,2}");
break;
case 2: // send sensor information
delay(10);
Serial.print("{14,");
Serial.print("0,"); // channel number
Serial.print("1,"); // sensor id
Serial.print("Voltage,"); // sensor name
Serial.print("V,"); // unit
Serial.print("0,"); // min value
Serial.print("5,"); // max value
Serial.print("0.001,"); // resolution
Serial.print("1,"); // calbration 0:false, 1:true
Serial.print("0,"); // sign invert 0:false, 1:true
Serial.print("0"); // data series
Serial.println("}");
Serial.flush();
delay(10);
Serial.println("{14,1,2,Current,A,-1,1,0.001,1,0,0}");
break;
}
break;
case 3: // send data
float retSampling = 0;
float newTime = 0;
incomingByte2 = Serial.parseInt();
switch(incomingByte2) {
case 1:
newTime = Serial.parseFloat();
// max send packet 115200(bps) / 11(bit) = 10472(bytes)
// 10472(bytes) / 11(packet size) = 952(max send packet count);
// 0.002 : 500 packets
if(0.002<= newTime && newTime <= 30.0)
samplingTime = (int)(newTime * 1000);
Serial.print("{15,");
retSampling = samplingTime/1000.0;
Serial.print(retSampling, 3);
Serial.println("}");
break;
case 2: // one time
readCurrentValue();
break;
case 3: // start collection
init_Sensor();
currentTimeCount = 0;
digitalWrite(LEDpin, true);
Serial.println("{17}");
runFlag = true;
break;
case 4: // stop collection
runFlag = false;
Serial.println("{18}");
digitalWrite(LEDpin, false);
break;
}
break;
}
======
기타 자료는 https://1drv.ms/f/s!AmbHpQNEKSyY7DmvBLYrHnLfrrr_ 에 있습니다.